feat: Guided Tours Framework (Navigating the Editor)#2299
Draft
camielvs wants to merge 1 commit into
Draft
Conversation
This was referenced May 21, 2026
Collaborator
Author
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
3 tasks
🎩 PreviewA preview build has been created at: |
08e1624 to
90d5b9d
Compare
0f30f2c to
4cc74f0
Compare
90d5b9d to
d89055f
Compare
4cc74f0 to
fd9690e
Compare
a0e7c17 to
a98fb46
Compare
3 tasks
a98fb46 to
9f459c8
Compare
fd9690e to
8c23f4e
Compare
9f459c8 to
e7770ca
Compare
e7770ca to
e26abd3
Compare
8c23f4e to
b781af4
Compare
d95e8da to
6246686
Compare
b781af4 to
12125e7
Compare
5c82cee to
07be379
Compare
bd097db to
84f39e0
Compare
3 tasks
84f39e0 to
d6d13ae
Compare
b73fea7 to
faca533
Compare
d6d13ae to
e97b036
Compare
3 tasks
e97b036 to
d308ae7
Compare
faca533 to
879e09d
Compare
d308ae7 to
95b9b2a
Compare
879e09d to
4bd1952
Compare
This was referenced Jun 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Description
The editor-side tour bridge: a single React component that listens for tour-step interactions in the editor and advances the tour when the prompted user action happens. Sufficient to power the first tour (#2306, Navigating the Editor) — later PRs extend it with additional interaction types.
The framework foundation (route, provider, popover, hub UI, types) lives in #2348. This PR replaces the empty
EditorTourBridge.tsxstub from #2348 with its actual implementation.Architecture
EditorTourBridge(src/routes/v2/pages/Editor/components/EditorTourBridge.tsx)Reads the current step from
useTour(). If the step declares aninteraction, the bridge wires up a listener that auto-advances the tour when the user performs that action. Three interactions:select-task— advances when the user clicks an element whose ancestor matches[data-tour-node="task"](the stable selector added by feat: Guided Tour - Navigating the Editor #2306; not React Flow's CSS class, so library renames don't break it).undock-window— advances when a docked panel matchingtargetWindowIdis dragged out of its dock area.redock-window— advances when a floating window matchingtargetWindowIdis dropped back into a dock.Helpers
followWindowPosition— runs alongside any step with atargetWindowId, keeping the highlight following a floating panel as the user drags it. Throttled to one resize-event-dispatch per animation frame.trackDockStateTransition— observesdockStatechanges across all windows (or one specific target) to detect undock/redock. Records a baseline at step start and fires when a baselined window crosses the transition.skipin the reverse direction if the step's prompted state can't be re-entered.Skip-with-fallback
Each interaction checks whether its prompted state is already satisfied when the step lands (e.g. the user has already undocked the target window). If so, the step's
fallbackContent(declared in the tour JSON) replaces itscontentand the interaction is disabled — the step becomes a non-interactive informational beat the user can advance past with Next.Related Issue and Pull requests
Progresses https://github.com/Shopify/oasis-frontend/issues/583
Builds on #2348 (foundation). First consumer is #2306 (Navigating the Editor). Later PRs in the stack (#2347) add more interaction types on top.
Type of Change
Checklist
Test Instructions
No visible behavior on its own — the registry from #2348 is still empty. Test in context with #2306 on top:
[data-tour-node="task"]over.react-flow__node).Additional Comments
The three interactions here are the minimum set #2306 needs. #2347 adds
add-task,add-input,add-output,connect-edge,expand-folder,library-search, andset-argumentfor the Build Your First Pipeline tour (#2312).